package cn.csc.module.order.controller.admin.returnsapply.vo;

import cn.csc.framework.common.pojo.PageParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigInteger;
import java.time.LocalDateTime;

import static cn.csc.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ApiModel("管理后台 - 售后申请分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class OrderReturnsApplyPageReqVO extends PageParam {

    @ApiModelProperty(value = "订单单号")
    private String orderId;

    @ApiModelProperty(value = "子订单编码")
    private String orderDetailId;

    @ApiModelProperty(value = "售后单号")
    private String returnNo;

    @ApiModelProperty(value = "用户编码")
    private BigInteger userId;

    @ApiModelProperty(value = "类型 0 仅退款 1退货退款")
    private Byte state;

    @ApiModelProperty(value = "货物状态 0:已收到货 1:未收到货")
    private Byte productStatus;

    @ApiModelProperty(value = "退换货原因")
    private String why;

    @ApiModelProperty(value = "审核状态 -1 拒绝 0 未审核 1审核通过")
    private Byte status;

    @ApiModelProperty(value = "审核时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Integer[] auditTime;

    @ApiModelProperty(value = "审核原因")
    private String auditWhy;

    @ApiModelProperty(value = "备注")
    private String note;

    @ApiModelProperty(value = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}
